虽在迟暮之年,仍想点亮星火——关于Xiuno BBS现代化改造的思考
标题有点丧,我知道。
但如果你读下去,也许会发现——**尽头,未必是终点**。
---
## 前言
2025年7月23日,我们正站在一个时代的断层之上。
Xiuno BBS 是2016年的孩子。
刀锋移动端模板(Blade Mobile Template,以下简称 BMT)的代码,我找到最早的修改记录是2017年7月7日,而它的高光时刻集中在2018年初。
而现在是2025年夏天。
时间像一场缓慢的雪崩。
2020年7月6日,Xiuno 官网关闭,作者 axiuno 退网。
PHP 8.0 在同年(2020年)11月发布,而 Xiuno BBS 最后一个官方版本 4.0.4,只兼容到 PHP 7.0.2——那是一个连 Laravel 都还没全面拥抱 PHP 8 的年代。
如今,PHP 7.4 的官方支持早已结束(2022 年 11 月 28 日),主流早已进入 8.2+ 的时代(PHP 8.0.0 的正式发布时间是 2020 年 11 月 26 日)。
而我们,还守着一个被时间冻结的程序,像一群在废墟里点灯的人。
## 一、那些曾经闪耀的名字,如今都去了哪里?
记得2019年我第一次听说 Xiuno BBS 的时候,官方论坛还在。
那里有技术讨论,也有小白问“怎么安装”、“插件报错怎么办”。
吵吵嚷嚷,却热气腾腾。
2021年7月17日,我加入了这个由站长们自发搭建的“Xiuno BBS 开源程序交流论坛”。
从那时起,我亲眼见证了——**如何从废墟中重建一座城**。
尽管程序本身停滞了,但社区没有死。
有人继续做插件,有人打磨主题,有人尝试封装 App。
兔兔、大白……这些名字曾是插件世界的明星,如今却已沉寂。
据我所知,目前仍在活跃的插件开发者,大概只剩下[奇狐](https://bbs.oddfox.cn/)、[NOTEWEB](https://www.noteweb.top/) 和[一起Smart](https://www.iqismart.cn/) 等。
但就在几天前(2025年7月21日),我听说**一起Smart也要退出了**。
他雪藏了自己的部分插件,关停了配套服务——图床、微信公众号一键粘贴等功能随之瘫痪。
他的 App 也停止维护。
那一刻,我忽然意识到:**我们正在经历一场静默的退场**。
## 二、可总有人,不想认命
即便如此,仍有人在尝试突破边界。
- [**机智库**](https://www.jizhiku.net/) 从2021年底开始探索 Xiuno 的 API,2022年冬天全力投入,2023年2月完成原生安卓 App 的初版,同年8月重构。
在这个过程中,他们推动了许多插件暴露 API 接口——这本不是必须做的事,但他们做了。
- [**一起Smart**](https://www.iqismart.cn/) 在2024年4月发布了基于 UNIAPP 的跨平台应用,覆盖安卓、小程序和网页。
虽然现在可能退出了,但他的尝试为后来者铺了路。
- 还有一些无名开发者,在2021年就做了叫“XBBS”的项目。
它彻底重构了 Xiuno 的前端,外观像 SPA(甚至有点像 [HYBBS 的一款表白墙主题](http://bbs.hyphp.cn/t/5219.html) )。
可惜,为了极致体验,它放弃了插件兼容性——一旦走远,就再也回不去了。
所有人都在试图给这个“老古董”装上新引擎。
- 还有 [NOTEWEB](https://www.noteweb.top/) 的《轻鸿》,把双端体验做到了极致;
- 以及我自己的 [Stately 主题](https://www.xiunobbs.cn/thread-3888.htm) 则为了兼容尽可能多的插件,不得不继续依赖 Bootstrap 5 + jQuery 的架构。甚至我连“无刷新加载”都得用个“Loader”来做障眼法。
我们被困住了。
## 三、那个让我“被刺激到”的模板:刀锋移动端模板(BMT)
我想谈谈一个在2018年就让我震惊的东西——由Lightsail精心制作的[**刀锋移动端模板(BMT)**](https://we.moqu8.com/thread-14053.htm) 。
它不是什么开源项目(是在Discuz应用中心付费获取的商业产品),也不是什么“现代框架”的产物。
它是基于 **[Discuz!](https://www.discuz.vip/) (+ PHP + MySQL + Apache/Nginx) + [Framework7](https://framework7.io/) + [Zepto.js](https://zeptojs.com/) ** 的一套移动端模板。
回顾BMT的特性,即使在2025年的今天,其理念依然超前得令人惊叹:
1. 基于 Framework7 + Zepto.js + 自研逻辑,实现了 **SSR (服务端渲染) + SPA (单页应用)** 的完美融合。它采用 **穿透布局、异步区块加载**,实现 **全程无间隙浏览**,仅按需请求视图区块,却神奇地支持 **任意页面入口** 且 **SEO友好**。
- 穿透式布局+区块异步加载:每次只请求所需内容,零间隙浏览,这不就是现在流行的“部分 hydration”吗?
- 这些设计在2025年依然不过时。
2. 流畅动效、惰性加载、滚动隐藏工具栏、无限滚动、WebApp全屏模式... 这些如今被 React/Vue/Next.js 等现代框架视为标配的特性,**BMT 在 2017-2018 年就用 PHP (Discuz后端) + 前端技术实现了!** 在那个国内前端大多还在 jQuery 海洋中摸索的年代,这简直是惊世骇俗。
3. 从论坛门户支持、全类型帖子交互、图片上传/附件下载优化(迅雷链接)、音视频播放(去广告)、实时聊天(类微信),到多语言、全方位售后... 其深度和广度令人咋舌。
- 它甚至实现了跨站点消息互通(通过 UCenter),完全可以当成一个社交 App 来用。
4. 它有WebApp全屏模式:2018年的BMT已经能让手机桌面图标直接打开类原生APP体验,而微信小程序要等到2017年才上线。
最惊人的是:**它没有用 React、Vue、Angular等现代前端框架,也没有用 Node.js 或 SSR 框架**。
刀锋像一面镜子,照出了国内前端开发的滞后:当我们还在讨论“要不要上Vue”时,有人已经用更轻量的工具实现了更超前的交互。
然而,八年过去了。在 Xiuno 的世界里,**这条路几乎无人涉足**。我们看到了 App 化的尝试,看到了主题的精修,但那个关于 **“用 Xiuno 打造一个如 BMT 般惊艳的、原生的、SSR+SPA 的移动端体验”** 的梦想,似乎被束之高阁。
## 四、为什么没人再走这条路?
因为太难了。
如我在[《Xiuno BBS 开发实践教程》](https://www.xiunobbs.cn/thread-6563.htm) 中所述:
* 整个 Xiuno 生态(程序核心 + 几乎所有插件)深度绑定 **Bootstrap 4 + jQuery 3**。
* 插件严重依赖 Bootstrap 的类名、组件(Modal, Tooltip 等)和特定行为(如 `data-*` 属性)(更换Bootstrap版本导致所有的 `data-*` 属性作废,需要手动换成 `data-bs-*`)。
* 核心 JS 库 `xiuno.js` 的关键功能(`$.ajax_modal`, `$.confirm`, `$.alert` 等)直接构建在 Bootstrap 组件之上。
* **结论是残酷的:** 除非有巨大决心将整个插件生态重构或适配,否则选择非 Bootstrap 技术栈几乎是自绝于现有生态。兼容 Bootstrap 已是主题开发者的“无奈之举”,升级到 Bootstrap 5 已经是巨大的进步。
这个生态,已经被锁死了。
于是我们只能在旧框架里打转,修修补补,不敢越雷池一步。
没有人敢想:“如果 Xiuno BBS 也能有 BMT 那样的体验,会怎么样?”
## 五、但我还是想试一次
这份对 BMT 的执念,这份对 Xiuno 移动端体验的更高期待,从未熄灭。只是,时机和能力似乎总不成熟。
直到现在,2025年7月。我觉得,是时候挑战这个曾经看似遥不可及的目标了。
[**HTMX**](https://htmx.org) 的出现,像是一把钥匙。
### HTMX 是什么?
它是一个极简的现代前端库,允许你在 HTML 中通过属性控制 AJAX、CSS 过渡、WebSocket 等交互行为,无需写 JS。
它不取代前端框架,而是提供了一种“渐进式现代化”的路径。
更重要的是,**它尊重 HTML,拥抱渐进增强,与服务器端渲染天然契合**——这完美契合了我们想在 Xiuno 框架内进行“温和革命”的需求。
我不需要改 Xiuno 的核心文件,只需要通过 hook 和主题机制,就能让整个系统“动起来”。
### 结果如何?
我已经发布了初步成果:[《为 Xiuno BBS 4 注入 HTMX 现代交互能力》](https://www.xiunobbs.cn/thread-6787.htm) 。
**所有原装功能,全部适配 HTMX。**
点击链接无刷新跳转,表单提交局部更新……全部实现。
### 这意味着什么?
**通往 SPA 体验的大门,被 HTMX 推开了一道缝隙!**
在现有 Xiuno 架构和生态约束下,实现类似 BMT “区块级异步加载”、“无间隙浏览”的核心交互模式,**有了理论上的可行性!**
我们不必立即、彻底地推翻 Bootstrap/jQuery 生态(这是现阶段不可能的任务),而是可以在其上 **渐进式地构建现代化的交互层**。
---
## 六、前路漫漫,但我想说...
是的,我承认我很悲观。
作者退网,生态萎缩,核心停滞,开发者离去……
每一步都在提醒我:**这个程序,已经老了**。
但我们还在。
我们这群人,像守夜人一样,在别人早已熄灯的夜里,还在调试一段 AJAX 请求,还在优化一次区块加载,还在想着:“如果能再流畅一点就好了。”
我们不是为了“复兴 Xiuno”,
而是因为我们**舍不得那种纯粹的技术热情**——
那种不为资本、不为流量,只为“让它更好用一点”的执念。
是的,这条路注定坎坷漫长。BMT 当年的高度,是 LightSail 倾注心血达到的巅峰。我们面对的,是一个年迈但仍有生机的程序,一个庞大而陈旧的插件生态,以及社区人力和资源的日渐稀薄。终点似乎遥不可及,甚至可能永远无法到达。
LightSail 在2018年用一套 Discuz 模板告诉我们:
**即使在技术落后的环境里,也能做出惊艳世界的产品。**
我不知道最终能走多远,能否真正触及 BMT 当年的荣光。也许这注定是一条孤独的、甚至没有终点的路。
**但我还是想走下去。哪怕只是为了证明,在这个“后Xiuno时代”,依然有人没有放弃对更好体验的追求,依然有人愿意去触碰那个曾经看似不可能的梦想。**
这条路,也许漫长,也许终点难觅。但我想,总得有人开始走。
---
## 七、写给未来的你
如果你看到这里,也许你也曾用过 Xiuno BBS,也许你也曾为某个插件熬夜调试,也许你也曾幻想过“如果它能像 App 一样流畅就好了”。
那么,请记住:
- 刀锋模板的精神没有死
- HTMX 的尝试已经开始
- 这条路虽然孤独,但并非无人同行
我不敢说我会成功,但至少,我试过了。
---
**“虽然我感觉这条路可能即将迎来终点,但我还是想要说:**
**终点之前,还有风景。”**
—— Tillreetree
2025年7月23日